﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ArgusPCLib.Collections.Generic
{
	public struct ItemPair<T1,T2> : IItemPair
	{
		public T1 Item1 { get; set; }
		public T2 Item2 { get; set; }
		object IItemPair.Item1 { get { return this.Item1; } }
		object IItemPair.Item2 { get { return this.Item2; } }

		public ItemPair(T1 item1, T2 item2)
			:this()
		{
			this.Item1 = item1;
			this.Item2 = item2;
		}
	}

	public struct ItemTriple<T1, T2, T3> : IItemTriple
	{
		public T1 Item1 { get; set; }
		public T2 Item2 { get; set; }
		public T3 Item3{get;set;}
		object IItemTriple.Item1 { get { return this.Item1; } }
		object IItemTriple.Item2 { get { return this.Item2; } }
		object IItemTriple.Item3 { get { return this.Item3; } }

		public ItemTriple(T1 item1, T2 item2, T3 item3)
			: this()
		{
			this.Item1 = item1;
			this.Item2 = item2;
			this.Item3 = item3;
		}
	}
}
